package moodish.dummy;


	
	
	import java.io.*;
import java.net.*;
	public class client{
	    Socket requestSocket;
	    ObjectOutputStream out;
	    ObjectInputStream in;
	    String message;
	  
	    void run()
	    {
	        try{
	            //1. creating a socket to connect to the server
	            requestSocket = new Socket("localhost", 2004); 
	            System.out.println("Connected to localhost in port 2004");
	            //2. get Input and Output streams
	            out = new ObjectOutputStream(requestSocket.getOutputStream());
	            out.flush();
	            in = new ObjectInputStream(requestSocket.getInputStream());
	            //3: Communicating with the server
	            do{
	                try{
	                    message = (String)in.readObject();
	                    System.out.println("server>" + message);
	                    sendMessage("Hi my server");
	                    message = "bye";
	                    sendMessage(message);
	                }
	                catch(ClassNotFoundException classNot){
	                    System.err.println("data received in unknown format");
	                }
	            }while(!message.equals("bye"));
	        }
	        catch(UnknownHostException unknownHost){
	            System.err.println("You are trying to connect to an unknown host!");
	        }
	        catch(IOException ioException){
	            ioException.printStackTrace();
	        }
	        finally{
	            //4: Closing connection
	            try{
	                in.close();
	                out.close();
	                requestSocket.close();
	            }
	            catch(IOException ioException){
	                ioException.printStackTrace();
	            }
	        }
	    }
	    void sendMessage(String msg)
	    {
	        try{
	            out.writeObject(msg);
	            out.flush();
	            System.out.println("client>" + msg);
	        }
	        catch(IOException ioException){
	            ioException.printStackTrace();
	        }
	    }
	    public static void main(String args[])
	    {
	       client client = new client();
	        client.run();
	    }
	}


